package com.lq.learningTest.JavaNewFunctions;

public interface expand {

    //接口不能被实例化，成员变量默认就是static的，所以加不加static都是一样的
    static int i = 0;
    int j = 0;

    //由于不能被实例化，所以接口中就不能有实例方法(编译都通过不了），静态方法就可以
//    void add(){
//
//    }
    static void addTwo(){

    }

    //接口中需要的是需要实现类实现的抽象方法
    void addOne();


    //1.8之后的特性，默认方法，扩展了接口的功能，注意要加关键字default
    default void fanc(){
        System.out.println("fanc");
    }


    //来个内部类
    class Cat implements expand{
        public Cat() {
        }

        //重写抽象方法
        @Override
        public void addOne() {

        }

        //默认方法是可以重写的
        @Override
        public void fanc() {
            System.out.println("hahahahahah");
        }


    }

    //这里甚至mian都不用加public,默认就是了
    public static void main(String[] args) {
        new Cat().fanc();
    }
}
